Documentation
# neso-rs [![NPM version](https://img.shields.io/npm/v/neso.svg?style=flat)](https://www.npmjs.com/package/neso) [![neso](http://meritbadge.herokuapp.com/neso)](https://crates.io/crates/neso) [![Documentation](https://docs.rs/neso/badge.svg)](https://docs.rs/neso) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Build Status](https://travis-ci.org/jeffrey-xiao/neso-rs.svg?branch=master)](https://travis-ci.org/jeffrey-xiao/neso-rs) [![codecov](https://codecov.io/gh/jeffrey-xiao/neso-rs/branch/master/graph/badge.svg)](https://codecov.io/gh/jeffrey-xiao/neso-rs) NES Oxidized (NESO) is a Nintendo Entertainment System emulator written in Rust that can compile to WebAssembly. ## JavaScript Usage Install `neso` from [npm](https://www.npmjs.com/): ``` $ npm install neso ``` Example JavaScript usage: [`neso-web`](https://gitlab.com/jeffrey-xiao/neso-web). ## Rust Usage Add this to your `Cargo.toml`: ```toml [dependencies] neso = "*" ``` and this to your crate root if you are using Rust 2015: ```rust extern crate neso; ``` Example Rust usage: [`neso-gui`](https://gitlab.com/jeffrey-xiao/neso-gui). ## Features - Instruction-cycle accurate MOS 6502 CPU with unofficial instructions. - Mostly cycle accurate PPU. - Mostly accurate APU. ## Compatibility The following mappers are implemented: - `000`: [NROM](http://bootgod.dyndns.org:7777/search.php?ines=0) - `001`: [MMC1](http://bootgod.dyndns.org:7777/search.php?ines=1) - `002`: [UNROM](http://bootgod.dyndns.org:7777/search.php?ines=2) - `003`: [CNROM](http://bootgod.dyndns.org:7777/search.php?ines=3) - `004`: [MMC3](http://bootgod.dyndns.org:7777/search.php?ines=4) - `007`: [AxROM](http://bootgod.dyndns.org:7777/search.php?ines=7) - `011`: [ColorDreams](http://bootgod.dyndns.org:7777/search.php?ines=11) - `094`: [UN1ROM](http://bootgod.dyndns.org:7777/search.php?ines=94) - `180`: [_Crazy Climber_](http://bootgod.dyndns.org:7777/search.php?ines=180) These mappers provide support for approximately 89% (1417/1591) games listed in this [comprehensive mapper list](http://tuxnes.sourceforge.net/nesmapper.txt). ## Test Rom Coverage See [TEST_ROM_COVERAGE](TEST_ROM_COVERAGE.md) for more details. ## Changelog See [CHANGELOG](CHANGELOG.md) for more details. ## References - [NESDev Wiki](https://wiki.nesdev.com) - [Obelisk 6502 Reference](http://www.obelisk.me.uk/6502/reference.html) ## License `neso-rs` is distributed under the terms of both the MIT License and the Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for more details.